home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / data / powerbas / UserFuncs (.txt) < prev   
RISC OS BBC BASIC V Source  |  1995-04-01  |  3KB  |  106 lines

  1.  >&.Keep.UserFuncs
  2. Uageinyrs(date1$,date2$)
  3.  --- v.02
  4.  --- date1$ & date2$ in format : "DD-MM-YY" or "DD-MM-YYYY"
  5.  --- Does NOT handle century wrap-around !!
  6.  d1%,d2%,m1%,m2%,y1%,y2%,age%,age$ : age$=""
  7.  date1$<>"" 
  8.  date2$<>"" 
  9.     >   d1%=
  10. date1$,2)):m1%=
  11. date1$,4,2)):y1%=
  12. date1$,2))
  13. >   d2%=
  14. date2$,2)):m2%=
  15. date2$,4,2)):y2%=
  16. date2$,2))
  17.  y2%<y1% 
  18.  (y2%=y1% 
  19.  m2%<m1%) 
  20.  (y2%=y1% 
  21.  m2%=m1% 
  22.  d2%<d1%) 
  23.      age$="--"
  24.      age%=y2%-y1%
  25.      
  26.         
  27.  (m2%<m1%) : age%-=1
  28. ,       
  29.  (m2%=m1%) 
  30.  (d2%<d1%) : age%-=1
  31.      
  32.      age$=
  33. (age%)
  34.     =age$
  35. Udate8(d%,m%,y%)
  36.  --- v.01
  37.  --- Returns a string (DD-MM-YY) from the day, month and year
  38.      integer parameters d%, m%, and y% respectively.
  39.      Returns null string if any parameter = 0 (or is an empty field)
  40.  date$,d$,m$,y$ : date$=""
  41.  d%>0 
  42.  d%<32 
  43.  m%>0 
  44.  m%<13 
  45.  y%>0 
  46.  y%<100 
  47. !   d$=
  48. (d%):m$=
  49. (m%):y$=
  50.  d%<10 d$="0"+d$
  51.  m%<10 m$="0"+m$
  52.  y%<10 y$="0"+y$
  53.    date$=d$+"-"+m$+"-"+y$
  54. =date$
  55. Unow(t$)
  56.  --- v.01
  57.  --- Returns current date in format : "DD-MM-YY"
  58.  mon$,m$ : mon$=
  59. $,8,3)
  60.  mon$ 
  61.  "Jan" : m$="01"
  62.  "Feb" : m$="02"
  63.  "Mar" : m$="03"
  64.  "Apr" : m$="04"
  65.  "May" : m$="05"
  66.  "Jun" : m$="06"
  67.  "Jul" : m$="07"
  68.  "Aug" : m$="08"
  69.  "Sep" : m$="09"
  70.  "Oct" : m$="10"
  71.  "Nov" : m$="11"
  72.  "Dec" : m$="12"
  73.   : m$="??"
  74. $,5,2)+"-"+m$+"-"+
  75. $,14,2)
  76. Uname(surname$,forename$,middlenames$)
  77.  ### Returns name as forename$ <space> surname$ UNLESS one of ###
  78.  ### middle names is immediately followed by an asterisk, in ###
  79.  ### which case the indicated name is used in place of forename$ ###
  80.  P%,Q%,N$
  81. middlenames$,"*")
  82.  P%=0 
  83.   N$=forename$+" "+surname$
  84.   Q%=P%
  85.  Q%-=1
  86.  Q%=0 
  87. middlenames$,Q%,1)=" "
  88. H1  N$=
  89. middlenames$,Q%+1,P%-Q%-1)+" "+surname$
  90. Uday(date$)
  91.  day%,day$,suffix$
  92. day%=
  93. (date$)
  94.  day% 
  95.  1,21,31:suffix$="st"
  96.  2,22:suffix$="nd"
  97.  3,23:suffix$="rd"
  98. :suffix$="th"
  99. (day%)+suffix$
  100. Umonth(date$)
  101.  month%,months$
  102. Yzmonths$="January  February March    April    May      June     July     August   SeptemberOctober  November December "
  103. month%=
  104. date$,4,2))
  105. months$,month%*9-8,9)
  106.